package org.example.todolist.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.example.todolist.entity.TodoList;

import java.util.ArrayList;

/**
 * 列表Mapper接口
 */
@Mapper
public interface ListMapper {
    /**
     * 插入列表
     * @param list 列表对象
     * @return 影响的行数
     */
    int insert(TodoList list);

    /**
     * 根据ID查询列表
     * @param id 列表ID
     * @return 列表对象
     */
    TodoList selectById(Integer id);

    /**
     * 查询用户的所有列表
     * @param userId 用户ID
     * @return 列表集合
     */
    ArrayList<TodoList> selectByUserId(Integer userId);

    /**
     * 更新列表
     * @param list 列表对象
     * @return 影响的行数
     */
    int update(TodoList list);

    /**
     * 删除列表
     * @param id 列表ID
     * @return 影响的行数
     */
    int deleteById(Integer id);

    /**
     * 检查列表是否属于指定用户
     * @param id 列表ID
     * @param userId 用户ID
     * @return 属于返回1，不属于返回0
     */
    int checkBelonging(Integer id, Integer userId);
}
